package com.dys.testlambda02;

import com.dys.testlambda02.entity.Person;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @className: com.dys.testlambda02.LambdaTest02
 * @description: 用lambda表达式实现有参有返
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/29 下午10:05
 */
public class LambdaTest02 {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {

        List<Person> list = new ArrayList<>();
        list.add(new Person("周杰伦", 33, 180.5));
        list.add(new Person("刘德华", 40, 182.5));
        list.add(new Person("周星驰", 60, 172.5));
        list.add(new Person("郭富城", 45, 176.5));

        // 实现排序功能
        // Collections.sort(list, new Comparator<Person>() {
        //     @Override
        //     public int compare(Person o1, Person o2) {
        //         return o1.getAge() - o2.getAge();
        //     }
        // });

        // 方式2：使用lambda方式实现排序
        Collections.sort(list, (Person o1, Person o2) -> {
            return o1.getAge() - o2.getAge();
        });
        for (Person person : list) {
            System.out.println(person);
        }
    }
}
